package com.itcam.phaseii.string_;

public class StringMethod02 {
    public static void main(String[] args) {
        // toUpperCase 将字符串转换成大写
        // toLowerCase 将字符串转换成小写
        // concat 拼接字符串
        // replace 替换字符串中的字符
        // split 分割字符串, 对于某些分割字符，我们需要转义
        // compareTo 比较两个字符串的大小，如果前者大，则返回正数，后者大，则返回负数，如果相等，返回0
        // toCharArray 将字符串转换成字符数组
        // format 格式字符串

        // 以下按顺序测试
        String str1 = "heLLo";
        System.out.println(str1.toUpperCase());
        System.out.println(str1.toLowerCase());

        String str2 = "July";
        str2 = str2.concat("Lee");
        System.out.println(str2);

        String str3 = str2.replace("July", "Cammy");
        System.out.println(str3);

        String poem = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";
        // 1. 以, 为标准对poem 进行分割, 返回一个数组
        // 2. 在对字符串进行分割时，如果有特殊字符，需要加入转义符\
        String[] split = poem.split(",");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }

        String str4 = "unhappy";
        char[] chs = str4.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.print(chs[i]);
        }
        System.out.println();

        String str5 = "fake";
        String str6 = "face";
        System.out.println(str5.compareTo(str6));

        String name = "cammy";
        int age = 20;
        double score = 87.879;
        char gender = '男';
        String formatStr = "我的姓名是%s 年龄是%d，成绩是%.2f 性别是%c.";
        //1. %s , %d , %.2f %c 称为占位符
        //2. 这些占位符由后面变量来替换
        //3. %s 表示后面由字符串来替换
        //4. %d 是整数来替换
        //5. %.2f 表示使用小数来替换，替换后，只会保留小数点两位, 并且进行四舍五入的处理
        //6. %c 使用char 类型来替换
        String info = String.format(formatStr, name, age, score, gender);
        System.out.println("info = " + info);
    }
}
